combobox: Remove unused header function functionality
authorBenjamin Otte <otte@redhat.com>
Sat, 18 Jul 2015 03:16:07 +0000 (05:16 +0200)
committerBenjamin Otte <otte@redhat.com>
Sat, 18 Jul 2015 03:18:19 +0000 (05:18 +0200)
gtk/gtkcombobox.c
gtk/gtktreemenu.c
gtk/gtktreemenu.h

index 70924fe5e68fbfb1bd89c724da2fffa272a4d61b..691c71e022ee639bd1152f026a3c50e32b3602f0 100644 (file)
@@ -3091,17 +3091,6 @@ gtk_combo_box_row_separator_func (GtkTreeModel      *model,
   return FALSE;
 }
 
-static gboolean
-gtk_combo_box_header_func (GtkTreeModel      *model,
-                           GtkTreeIter       *iter,
-                           GtkComboBox       *combo)
-{
-  /* Every submenu has a selectable header, however we
-   * can expose a method to make that configurable by
-   * the user (like row_separator_func is done) */
-  return TRUE;
-}
-
 static void
 gtk_combo_box_menu_setup (GtkComboBox *combo_box)
 {
@@ -3178,10 +3167,6 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box)
                                          (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func,
                                          combo_box, NULL);
 
-  _gtk_tree_menu_set_header_func (GTK_TREE_MENU (menu),
-                                  (GtkTreeMenuHeaderFunc)gtk_combo_box_header_func,
-                                  combo_box, NULL);
-
   g_signal_connect (menu, "key-press-event",
                     G_CALLBACK (gtk_combo_box_menu_key_press), combo_box);
   gtk_combo_box_set_popup_widget (combo_box, menu);
index 288a6592511710e664f3bf4d75a109842cc2fe7c..a7036512cdcdb927757466bfebc916d2e68f3833 100644 (file)
@@ -176,11 +176,6 @@ struct _GtkTreeMenuPrivate
   GtkTreeViewRowSeparatorFunc row_separator_func;
   gpointer                    row_separator_data;
   GDestroyNotify              row_separator_destroy;
-
-  /* Submenu headers */
-  GtkTreeMenuHeaderFunc header_func;
-  gpointer              header_data;
-  GDestroyNotify        header_destroy;
 };
 
 enum {
@@ -452,7 +447,6 @@ gtk_tree_menu_finalize (GObject *object)
   priv = menu->priv;
 
   _gtk_tree_menu_set_row_separator_func (menu, NULL, NULL, NULL);
-  _gtk_tree_menu_set_header_func (menu, NULL, NULL, NULL);
 
   if (priv->root)
     gtk_tree_row_reference_free (priv->root);
@@ -1022,7 +1016,6 @@ row_changed_cb (GtkTreeModel         *model,
 {
   GtkTreeMenuPrivate *priv = menu->priv;
   gboolean            is_separator = FALSE;
-  gboolean            has_header = FALSE;
   GtkWidget          *item;
 
   item = gtk_tree_menu_get_path_item (menu, path);
@@ -1034,22 +1027,7 @@ row_changed_cb (GtkTreeModel         *model,
 
       if (root_path && gtk_tree_path_compare (root_path, path) == 0)
         {
-          if (priv->header_func)
-            has_header =
-              priv->header_func (priv->model, iter, priv->header_data);
-
-          if (has_header && !item)
-            {
-              item = gtk_separator_menu_item_new ();
-              gtk_widget_show (item);
-              gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
-
-              item = gtk_tree_menu_create_item (menu, iter, TRUE);
-              gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item);
-
-              priv->menu_with_header = TRUE;
-            }
-          else if (!has_header && item)
+          if (item)
             {
               /* Destroy the header item and then the following separator */
               gtk_widget_destroy (item);
@@ -1302,10 +1280,6 @@ gtk_tree_menu_create_submenu (GtkTreeMenu *menu,
                                          priv->row_separator_func,
                                          priv->row_separator_data,
                                          priv->row_separator_destroy);
-  _gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu),
-                                  priv->header_func,
-                                  priv->header_data,
-                                  priv->header_destroy);
 
   _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (submenu), priv->wrap_width);
   _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (submenu), priv->row_span_col);
@@ -1406,26 +1380,8 @@ gtk_tree_menu_populate (GtkTreeMenu *menu)
   if (path)
     {
       if (gtk_tree_model_get_iter (priv->model, &parent, path))
-        {
-          valid = gtk_tree_model_iter_children (priv->model, &iter, &parent);
+        valid = gtk_tree_model_iter_children (priv->model, &iter, &parent);
 
-          if (priv->header_func &&
-              priv->header_func (priv->model, &parent, priv->header_data))
-            {
-              /* Add a submenu header for rows which desire one, used for
-               * combo boxes to allow all rows to be activatable/selectable
-               */
-              menu_item = gtk_tree_menu_create_item (menu, &parent, TRUE);
-              gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
-
-              menu_item = gtk_separator_menu_item_new ();
-              gtk_widget_show (menu_item);
-              gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
-
-              prev = menu_item;
-              priv->menu_with_header = TRUE;
-            }
-        }
       gtk_tree_path_free (path);
     }
   else
@@ -1981,63 +1937,3 @@ _gtk_tree_menu_set_row_separator_func (GtkTreeMenu          *menu,
 
   rebuild_menu (menu);
 }
-
-/*
- * _gtk_tree_menu_get_header_func:
- * @menu: a #GtkTreeMenu
- *
- * Gets the current #GtkTreeMenuHeaderFunc header function.
- *
- * Returns: the current header function.
- *
- * Since: 3.0
- */
-GtkTreeMenuHeaderFunc
-_gtk_tree_menu_get_header_func (GtkTreeMenu *menu)
-{
-  GtkTreeMenuPrivate *priv;
-
-  g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL);
-
-  priv = menu->priv;
-
-  return priv->header_func;
-}
-
-/*
- * _gtk_tree_menu_set_header_func:
- * @menu: a #GtkTreeMenu
- * @func: (allow-none): a #GtkTreeMenuHeaderFunc, or %NULL to unset the header function.
- * @data: (allow-none): user data to pass to @func, or %NULL
- * @destroy: (allow-none): destroy notifier for @data, or %NULL
- *
- * Sets the header function, which is used to determine
- * whether a row width children should contain a leading header
- * menu item to allow that row to be selectable as an independant
- * menu item. If the header function is %NULL, no rows with children
- * have menu items which can be activated as leafs.
- * This is the default value.
- *
- * Since: 3.0
- */
-void
-_gtk_tree_menu_set_header_func (GtkTreeMenu          *menu,
-                                GtkTreeMenuHeaderFunc func,
-                                gpointer              data,
-                                GDestroyNotify        destroy)
-{
-  GtkTreeMenuPrivate *priv;
-
-  g_return_if_fail (GTK_IS_TREE_MENU (menu));
-
-  priv = menu->priv;
-
-  if (priv->header_destroy)
-    priv->header_destroy (priv->header_data);
-
-  priv->header_func    = func;
-  priv->header_data    = data;
-  priv->header_destroy = destroy;
-
-  rebuild_menu (menu);
-}
index 3040d0d4b07fa47ee65edf1727f26df60668c9e4..fa0f4adbf4a0488a011ee391b14f0fcadbdcd771 100644 (file)
@@ -44,23 +44,6 @@ typedef struct _GtkTreeMenu              GtkTreeMenu;
 typedef struct _GtkTreeMenuClass         GtkTreeMenuClass;
 typedef struct _GtkTreeMenuPrivate       GtkTreeMenuPrivate;
 
-/**
- * GtkTreeMenuHeaderFunc:
- * @model: a #GtkTreeModel
- * @iter: the #GtkTreeIter pointing at a row in @model
- * @data: user data
- *
- * Function type for determining whether the row pointed to by @iter
- * which has children should be replicated as a header item in the
- * child menu.
- *
- * Returns: %TRUE if @iter should have an activatable header menu
- * item created for it in a submenu.
- */
-typedef gboolean (*GtkTreeMenuHeaderFunc) (GtkTreeModel      *model,
-                                           GtkTreeIter       *iter,
-                                           gpointer           data);
-
 struct _GtkTreeMenu
 {
   GtkMenu parent_instance;
@@ -115,12 +98,6 @@ void                        _gtk_tree_menu_set_row_separator_func   (GtkTreeMenu
                                                                      gpointer              data,
                                                                      GDestroyNotify        destroy);
 
-GtkTreeMenuHeaderFunc _gtk_tree_menu_get_header_func                (GtkTreeMenu          *menu);
-void                  _gtk_tree_menu_set_header_func                (GtkTreeMenu          *menu,
-                                                                     GtkTreeMenuHeaderFunc func,
-                                                                     gpointer              data,
-                                                                     GDestroyNotify        destroy);
-
 G_END_DECLS
 
 #endif /* __GTK_TREE_MENU_H__ */